package com.yyge.base

import android.annotation.SuppressLint
import android.app.Activity
import android.app.Application
import android.content.ContentValues.TAG
import android.content.Context
import android.os.Build
import android.os.Bundle
import android.renderscript.ScriptGroup.Binding
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.webkit.WebView
import android.widget.Button
import android.widget.Toast
import androidx.activity.enableEdgeToEdge
import androidx.annotation.RequiresApi
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.viewbinding.ViewBinding
import com.yyge.base.BaseActivity
import com.yyge.kt.base.BaseWebView
import com.yyge.kt.databinding.ActivityMainBinding
import com.yyge.kt.databinding.ActivitySplashBinding
import java.util.logging.Logger

/**
 * 所有Activity的基类
 */
abstract class BaseActivity:AppCompatActivity() {

    companion object {
        //SuppressLint 注解用于抑制 Lint 工具对此静态字段可能导致内存泄漏的警告。‌这通常是因为静态字段持有活动实例的引用，‌可能导致活动无法被垃圾回收。‌
        @SuppressLint("StaticFieldLeak")
        var activity: Activity? = null
    }


    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(getLayoutId())
        initUI()
        initListener()
        initData()
        Log.i(TAG,"121313456")
    }

    open fun initUI(){
        enableEdgeToEdge()
    }


    /**
     * 初始化数据
     */
    open protected fun initData(){

    }

    /**
     * 子类并不需要必须实现
     * adapter listener 的操作
     */
     open protected fun initListener(){

     }

    /**
     * 获取布局Id
     * 该类子类必须实现
     */
    abstract fun getLayoutId():View

    protected fun print(mes:String){
        //弹出消息
        runOnUiThread {
            Toast.makeText(this, mes, Toast.LENGTH_SHORT).show()
        }
    }

    protected fun initWebView(webView: WebView):BaseWebView {
        return BaseWebView(webView)
    }
}